﻿#define _CRT_SECURE_NO_WARNINGS

//#include<stdio.h>
//int main()
//{
//	printf("生气了");
//	return 0;
//}
// 
// 
//#include<stdio.h>
//int main()
//{
//	int a, b, c;
//	a = 5;
//	c = ++a;
//	b = ++c, c++, ++a, a++;
//	b += a++ + c;  
//	printf("a=%d,b=%d,c=%d", a, b, c);
//	return 0;
//}




/////////////////////////////////////分支与循环


//判断奇数偶数
//#include<stdio.h>
//int main()
//{
//	int num = 0;
//	scanf("%d", &num);
//	if (num % 2 == 1)
//		printf("%d 是奇数");
//	else
//		//printf("%d是偶数");
//	return 0;
//}

//判断是否成年
//#include<stdio.h>
//int main()
//{
//	int age = 0;
//	scanf("%d",& age);
//	if (age >= 18)
//		printf("成年");
//	else
//		printf("未成年");
//		return 0;
//}


//if判断正负
//#include<stdio.h>
//int main()
//{
//	int num = 0;
//	scanf("%d", &num);
//	if (num == 0)
//		printf("num是0");
//	else if (num < 0)
//		printf("num是负数");
//	else("num>0");
//	printf("num是正数");
//	return 0;
//}



//if嵌套式
//#include<stdio.h>
//int main()
//{
//	int num = 0;
//	scanf("%d", &num);
//	if (num == 0)
//		printf("num是0");
//	else {
//		if (num < 0)
//			printf("num是负数");
//		else
//		printf("num是正数");
//	}
//	return 0;
//}



//输⼊⼀个⼈的年龄
//如果年龄 < 18岁，打印"少年"
//	如果年龄在18岁⾄44岁打印"⻘年"
//	如果年龄在45岁⾄59岁打印"中⽼年"
//	如果年龄在60岁⾄89岁打印"⽼年"
//	如果90岁及以上打印"⽼寿星"
//	1


//#include<stdio.h>
//int main()
//{
//	int age = 0;
//	scanf("%d", &age);
//	if (age < 18)
//		printf("少年");
//	else 
// {
//		if (age <= 44)
//			printf("青年");
//		else if (age < 59)
//			printf("中老年");
//		else if (age <= 89)
//			printf("老年");
//		else
//			printf("老寿星");
//	}
//
//
//	return 0;
//}

//BC49 判断两个数的大小关系
//#include <stdio.h>
//
//int main() {
//    int a, b;
//    while (scanf("%d %d", &a, &b) != EOF) { // 注意 while 处理多个 case
//        // 64 位输出请用 printf("%lld") to 
//        if (a > b)
//            printf("%d>%d\n", a, b);
//        else if (a == b)
//            printf("%d=%d\n", a, b);
//        else
//            printf("%d<%d", a, b);
//        
//
//    }
//    return 0;
//}

//BC83 被5整除问题
//#include <stdio.h>
//
//int main() {
//    int a;
//    while (scanf("%d", &a) != EOF) { // 注意 while 处理多个 case
//        // 64 位输出请用 printf("%lld") to 
//        if (a % 5 == 0)
//            printf("YES");
//        else
//            printf("NO");
//
//    }
//    return 0;
//}


//条件操作符也叫三⽬操作符
//练习2：使⽤条件表达式实现找两个数中较⼤值
//#include<stdio.h>
//int main()
//{
//	int a = 0;
//	int b = 0;
//	scanf("%d %d",&a,&b);
//	int m = (a > b ? a : b);
//	printf("%d", m);
//	
//	return 0;
//}

//逻辑运算并且&&
//#include<stdio.h>
//int main()
//{
//	int month = 0;
//	scanf("%d", &month);
//	if (month >= 3 && month <= 5)
//		printf("春天");
//	return 0;
//}



//逻辑运算符或者 ||  判断是否闰年
//#include<stdio.h>
//int main()
//{
//	int year = 0;
//	scanf("%d", &year);
//	if ( (year%4==0)&& (year%100!=0) ||  (year%400==0) )
//		printf("%d是闰年\n",year);
//	return 0;
//}





//验证并且逻辑运算符的短路

//#include <stdio.h>
//int main()
//{
//	int i = 0, a = 0, b = 2, c = 3, d = 4;
//	i = a++ && ++b && d++;
//	//i = a++||++b||d++;
//	printf("i=%d\na = %d\n b = %d\n c = %d\nd = %d\n",i, a, b, c, d);
//	return 0;
//}


//#include<stdio.h>
//int main()
//{
//	int day = 0;
//	scanf("%d", &day);
//	switch (day)
//	{
//	case 1:
//		printf("星期一");
//			break;
//	case 2:
//		printf("星期二");
//		break;
//		case 3:
//			printf("星期三");
//			break;
//		case 4:
//			printf("星期四");
//			break;
//		case 5:
//			printf("星期五");
//			break;
//		case 6:
//			printf("星期六");
//			break;
//		case 7:
//			printf("星期七");
//			break;
//	}
//
//	return 0;
//}



//while循环
//
//#include<stdio.h >
//int main()
//{
//	int i = 1;
//		while (i<=10)
//		{
//			printf("%d", i);
//			i++;
//
//	}
//		return 0;
//}

//6.4 练习
//输⼊⼀个正的整数，逆序打印这个整数的每⼀位
//例如：
//输⼊：1234，输出：4 3 2 1
//输⼊：521，输出：1 2 5
//#include<stdio.h>
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	while (n)
//	{
//		printf("%d", n % 10);
//		n = n /10;
//	}return 0;
//
//}

//for循环
//#include<stdio.h>
//int main()
//{
//	int i = 0;
//	for (i = 1; i < 10; i++)
//	{
//		printf("%d", i);
//	}return 0;
//}


//#include<stdio.h>
//int main()
//{
//	int i = 0;
//	int b = 0;
//	for (i = 1; i <= 100; i++)
//	{
//		if (i % 3 == 0)
//			b = i + b;
//	}
//	printf("%d", b);
//	return 0;
//}



//do while 循环打印1~10
//#include<stdio.h>
//int main()
//{
//	int a = 1;
//	do
//	{
//		printf("%d", a);
//		a++;
//	} while (a <= 10);
//	return 0;
//}


//#include<stdio.h>
//int main()
//{
//	int count = 0;
//	int a = 0;
//	scanf("%d", &a);
//	do {
//	
//		count++;
//		a = a / 10;
//	} while (a);
//	printf("%d\n", count);
//	return 0;
//}


//#include <stdio.h>
//
//int main() {
//    int a;
//    int i = 0;
//    while (scanf("%d", &a) != EOF) { // 注意 while 处理多个 case
//         //64 位输出请用 printf("%lld") to
//        for(i=1;a>=i;i++)
//        printf("*");
//        printf("\n");
//    }
//    return 0;
//}


//写一个代码打印1 - 100之间所有3的倍数的数字

//#include<stdio.h>
//int main()
//{
//	int i = 0;
//	for (i = 3; i < 100; i++)
//	{
//		if(i%3==0)
//		printf("%d ", i);
//	}
//	return 0;
//}




//写代码将三个整数数按从大到小输出。
//
//例如：
//
//输入：2 3 1
//
//输出：3 2 1

//#include<stdio.h>
//int main()
//{
//	int a = 2;
//	int b = 3;
//	int c = 1;
//	if (a < b)
//	{
//		int num = a;
//		a = b;
//		b = num;
//	}
//	if (a < c)
//	{
//		int num = a;
//			a = c;
//			c = num;
//	}
//	if (b < c)
//	{
//		int num = b;
//		b = c;
//		c = num;
//	}
//		printf("%d %d %d", a, b, c);
//	return 0;
//
//}







//

//KiKi想知道已经给出的三条边a，b，c能否构成三角形，如果能构成三角形，判断三角形的类型（等边三角形、等腰三角形或普通三角形）。
//#include <stdio.h>
//
//int main() {
//    int a, b, c;
//    while (scanf("%d %d %d", &a, &b, &c) != EOF) { // 注意 while 处理多个 case
//        // 64 位输出请用 printf("%lld") to 
//        if (((a + b) > c) && ((a +c) > b )&&((c+b)>a))
//        {
//            if (a == b && b == c)
//                printf("Equilateral triangle!\n");
//            else if ((a == b) || (b == c) || (a == c))
//                printf("Isosceles triangle!\n");
//            else
//                printf("Ordinary triangle!\n");
//
//        }
//        else
//            printf("Not a triangle!\n");
//    }
//    return 0;
//}


//99乘法表
//#include<stdio.h>
//int main()
//{
//	int i = 0;
//	int j = 0;
//	for (i = 1; i <= 9; i++)
//	{
//		for (j = 1; j <= i; j++)
//		{
//			printf("%d*%d=%d ", i, j, i * j);
//		}
//		printf("\n");
//	}
//	return 0;
//}
// 
// 
// 
// 
// 
// 
// 
// 
// 求10 个整数中最大值


//#include<stdio.h>
//int main()
//{
//	int arr[10] = {1 ,2, 3 , 22,33,55,44,66,55,44};
//	int max = arr[0];
//	for (int i = 0; i < 10; i++)
//	{
//		if (max < arr[i])
//		{
//			max = arr[i];
//		}
//	}
//	printf("max=%d", max);
//	return 0;
//}


//计算1 / 1 - 1 / 2 + 1 / 3 - 1 / 4 + 1 / 5 …… + 1 / 99 - 1 / 100
// 的值，打印出结果.

//#include<stdio.h>
//int main()
//{
//	double x, y, z;
//	x = y = z = 0;
//	for (int i = 1; i <= 100; i++)
//	{
//		if (i%2!=0)
//			x = x + 1.0 / i;
//		else
//			y = y + 1.0 / i;
//	}
//	z = x -y;
//	printf("z=%lf",z);
//	return 0;
//}
//改良！！！！！！！！！！！！！
//#include<stdio.h>
//int main()
//{
//	double x = 0;
//	int flg = 1;
//	for (int i = 1; i <= 100; i++)
//	{
//		x = x + 1.0 / i * flg;
//			flg = -flg;
//	}
//	printf("x=%lf", x);
//	return 0;
//}


//编写程序数一下 1到 100 的所有整数中出现多少个数字9
//#include<stdio.h>
//
//int main()
//
//{
//
//	int num = 0;
//
//	for (int i = 1; i <= 100; i++)
//
//	{
//
//		if (i % 10 == 9)
//
//			num++;
//
//		if (i / 10 == 9)
//
//			num++;
//
//	}
//
//	printf("num=%d", num);
//
//	return 0;
//
//}


//打印1000年到2000年之间的闰年

//#include<stdio.h>
//int main()
//{
//	int num = 0;
//	for (int i = 1000; i <= 2000; i++)
//	{
//		if ((i % 4 == 0 && i % 100 != 0) || (i / 400 == 0))
//			printf("%d ", i);
//	}
//	
//	return 0;
//}

//给定两个数，求这两个数的最大公约数
//
//例如：
//
//输入：20 40
//
//输出：20
// 
// 
//辗转相除法


//


//打印1~~100的素数
//#include<stdio.h>
//int main()
//{
//	for (int i = 1; i <= 100; i++)
//	{
//		int j = 0;
//		int flag = 1;
//		for (j = 2; j < i; j++)
//		{
//			if (i % j == 0)
//			{
//				flag = 0;
//				break;
//			}
//		}
//			if (flag == 1)
//				printf("%d ", i);		
//	}
//	return 0;
//}




//输入一个正整数，求出数字中的最大数字
//#include<stdio.h>
//int main()
//{
//	int num = 0;
//	int a = 0;
//	int i = 0;
//	scanf("%d", &a);
//	while (a>0)
//	{
//		i = a % 10;
//			if (num < i)
//				num = i;
//			else
//				num = num;
//		a=a / 10;
//
//	}
//	printf("%d", num);
//	return 0;
//}



//有一个分数序列2/1,3/2,5/3,8/5,13/8.................,前20序列之和
//#include<stdio.h>
//int main()
//{
//	double a = 1;
//	double b = 2;
//	double c = 0;
//	c = b / a;
//	double num = 0;
//	for (int i = 0;  i < 20; i++)
//	{
//		num = num + c;
//		b = a + b;
//		a = b - a;
//		c = b / a;
//	}
//	printf("%lf", num);
//	return 0;
//}



//在100~~1000之见输出他的数字之和等于9且可以被5整除
//#include<stdio.h>
//int main()
//{
//	for (int i = 100; i <= 1000; i++)
//	{
//		int sum = 0;
//		int a = 0;
//		
//		a = i;
//		while (a!=0)
//		{
//			
//			sum = sum + a % 10;
//				a = a / 10;
//		}
//		if (sum ==9)
//		{
//			if (i % 5 == 0)
//				printf("%d ", i);
//		}
//
////	}
//	return 0;
//}

//按照样例要求格式输出。
//
//格式：四位整数 = 个位数字 + 十位数字 * 10 + 百位数字 * 100 + 千位数字 * 1000
//
//#include<stdio.h>
//int main()
//{
//	int a = 0;
//	int x, y, z, h;
//	scanf("%d", &a);
//	x = a / 1000;
//	y = (a % 1000) / 100;
//	z = (a % 100) / 10;
//	h = a % 10;
//printf("%d=%d+%d*10+%d*100+%d*1000", a, h, z, y, x);
//		return 0;
//}
// 
// 
// 
// 
//编写程序，计算2个整数的和、差、积、商并输出。题目保证输入和输出全部在整型范围内。
//
//
//Input
//在一行中给出2个整数A和B，B肯定不是0。
//
//
//Output
//在4行中按照格式“A 运算符 B = 结果”顺序输出和、差、积、商。
//



//#include<stdio.h>
//int main()
//{
//	int a = 0;
//	int b = 0;
//	scanf("%d%d", &a, &b);
//	int x = a + b;
//	int y = a - b;
//	int z = a * b;
//	int h = a / b;
//	printf("%d + %d = %d\n", a, b, x);
//	printf("%d - %d = %d\n", a, b, y);
//	printf("%d * %d = %d\n", a, b, z);
//	printf("%d / %d = %d\n", a, b, h);
//	return 0;
//}


//编写程序，计算4个整数的和与平均值。
//
//
//Input
//在一行中给出4个整数，其间以空格分隔。
//
//
//Output
//按照样例输出格式，顺序输出4个整数的和与平均值，其中平均值精确到小数点后两位。
//
//#include<stdio.h>
//int main()
//{
//	int a,b,c,d;
//	scanf("%d%d%d%d", &a, &b, &c, &d);
//	int Sum = a + b + c + d;
//	float Average = (a + b + c + d) / 4.0;
//		printf("Sum = %d\n", Sum);
//		printf("Average = %.2f", Average);
//
//	return 0;
//}

//话说孙大圣保唐僧西天取经，路上遇到一妖怪。
//
//妖怪共有a滴血，大圣每打一棒就能使妖怪失去b滴血，妖怪一旦没血就会立即死去。大圣打了c棒将妖怪打死。
//
//
//Input
//一行中包含2个正整数a和b，证件用空格隔开。
//
//
//Output
//输出正整数c的值。

//#include<stdio.h>
//int main()
//{
//	int a = 0;
//	int b = 0;
//	scanf("%d%d", &a, &b);
//	int c = a / b;
//	if (a % b == 0)
//		printf("%d", c);
//	else
//	{
//		c = c + 1;
//		printf("%d", c);
//	}
//	return 0;
//
//}




//如果已知英制长度的英尺foot和英寸inch的值，那么对应的米是(foot + inch / 12)×0.3048。
//
//现在，如果用户输入的是厘米数，那么对应英制长度的英尺和英寸是多少呢？
//
//别忘了1英尺等于12英寸。
//
//
//Input
//在一行中给出1个正整数，单位是厘米。
//
//
//Output
//在一行中输出这个厘米数对应英制长度的英尺和英寸的整数值，中间用空格分开。


//#include<stdio.h>
//int main()
//{
//	double x,y,z;
//	int a = 0;
//	
//	scanf("%d", &a);
//	z = a /100.0;
//	x = z /0.3048;
//	y = (x-(int)x) * 12;
//	printf("%d %d", (int)x,(int)y);
//	return 0;
//
//
//}

// 如果今天是星期三，后天就是星期五；
//
//如果今天是星期六，后天就是星期一。
//
//我们用数字1到7对应星期一到星期日。
//
//给定某一天，请你输出那天的“后天”是星期几。

//#include<stdio.h>
//int main()
//{
//	int a = 0;
//	int b = 0;
//	scanf("%d", &a);
//	if (a <= 5)
//	{
//		b = a + 2;
//		printf("%d", b);
//	}
//	if (a <= 7 && a > 5)
//	{
//		b = a - 5;
//		printf("%d", b);
//	}
//	return 0;
//
//}



//据说一个人的标准体重应该是其身高（单位：厘米）减去100、再乘以0.9所得到的公斤数。
//
//已知市斤的数值是公斤数值的两倍。
//
//现给定某人身高，请你计算其标准体重应该是多少？
//
//
//Input
//输入第一行给出一个正整数H厘米（100 < H≤300），为某人身高。
//#include<stdio.h>
//int main()
//{
//	int a;
//	double b;
//	scanf("%d", &a);
//	b = (a - 100) * 0.9 * 2;
//	printf("%.1lf", b);
//		return 0;
//}

//编写程序根据商品原价以及折扣计算出折扣价。
//
//例如原价 ￥988，标明打 7 折，则折扣价应该是 ￥988 x 70 % = ￥691.60。
//
//
//Input
//在一行中给出商品的原价（不超过1万元的正整数）和折扣（为[1, 9]区间内的整数），其间以空格分隔。
//
//
//Output
//输出商品的折扣价，保留小数点后 2 位。


//#include<stdio.h>
//int main()
//{
//	int a = 0;
//	int c = 0;
//	double b;
//	scanf("%d%d", &a,&c);
//	b = a * (c / 10.0);
//	printf("%.2lf", b);
//	return 0;
//}


//对于如下图型，给定点的坐标（x，y），计算图中黄色部分的面积。
//#include<stdio.h>
//int main()
//{
//	int a,x, y;
//	scanf("%d%d", &x, &y);
//	a = (100*100/2)-(100 * y + 100 * (100 - x)) / 2;
//		printf("%d", a);
//		return 0;
//}
//
//知乎上有个宝宝问：“两个小时内如何学完 C 语言？”当然，问的是“学完”并不是“学会”。
//
//假设一本 C 语言教科书有 N 个字，这个宝宝每分钟能看 K 个字，看了 M 分钟。还剩多少字没有看？
//
//
//Input
//在一行中给出 3 个正整数，分别是教科书的总字数N（不超过 400 000）；宝宝每分钟能看的字数K（不超过 3 000）；宝宝看书的分钟数M（不超过 120）。
//
//题目保证宝宝看完的字数不超过 N。
//
//
//Output
//输出宝宝还没有看的字数。
//#include<stdio.h>
//int main()
//{
//	int a, s, d, z;
//	scanf("%d%d%d", &a, &s, &d);
//		z = a - s * d;
//	printf("%d", z);
//	return 0;
//}

//用四位数字来表示时间，比如1106表示 11 点 6 分。
//
//编写程序，根据起始时间和流逝的时间计算出终止时间。
//
//
//Input
//一行中给出 2 个整数，分别是四位数字表示的起始时间、以及流逝的分钟数，其间以空格分隔。题目保证起始时间和计算得到的终止时间在同一天内。
//
//注意：在起始时间中，当小时为个位数时，没有前导的零，即 5 点 30 分表示为 530；0 点 30 分表示为 030。
//
//流逝的分钟数可能超过 60，也可能是负数。
//
//
//Output
//不多于四位数字表示的终止时间，当小时为个位数时，没有前导的零


//#include<stdio.h>
//int main()
//{
//	int a, b, c;
//	scanf("%d%d", &a, &b);
//	if (b > 0)
//	{
//		c = a + (b / 60 * 100) + (b % 60 + 40);
//		printf("%d", c);
//	}
//	else
//	{
//		c = a + b;
//		printf("%d", c);
//	}
//	return 0;
//}
//




//正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解
//正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解
//正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解
//
//正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解
//正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解正解
//
//#include <stdio.h>
//
//int main() {
//    int start_time, passed_minutes;
//    scanf("%d %d", &start_time, &passed_minutes);
//
//    int hours = start_time / 100;
//    int minutes = start_time % 100;
//
//    int total_minutes = hours * 60 + minutes + passed_minutes;
//
//    int new_hours = total_minutes / 60;
//    int new_minutes = total_minutes % 60;
//
//    printf("%03d", new_hours * 100 + new_minutes);
//
//    return 0;
//}

//一个物体从2000米的高空自由落下。编写程序，求它在前t秒内下落的垂直距离。设重力加速度为10米 / 秒2。
//
//
//Input
//一个整数t。
//
//
//Output
//输出下落的距离。
//#include<stdio.h>
//int main()
//{
//	int t,h;
//	scanf("%d", &t);
//	h = (10 * t * t) / 2;
//	printf("%d", h);
//	return 0;
//}


//传递糖果


//#include<stdio.h>
//int main()
//{
//	int x, y, z,a,b,c,d;
//	scanf("%d%d%d", &x, &y, &z);
//	a = (x / 3) + (x / 3 + y) / 3 + ((x / 3) + (x / 3 + y)/3 + z) / 3;
//		b = (x / 3 + y) / 3 + ((x / 3) + (x / 3 + y) / 3 + z) / 3;
//		c = ((x / 3) + (x / 3 + y)/3 + z) / 3;
//		printf("%d %d %d", a, b, c);
//		return 0;
//}



//一行中给出 3 个不超过 100 的正整数，分别对应容器的长、宽、高。
//#include<stdio.h>
//int main()
//{
//	int a, b, c,d;
//	scanf("%d%d%d",&a,&b,&c);
//	d = a * b * c;
//	printf("%d", d);
//	return 0;
//}

//已知三角形三条边的长度，求该三角形的面积。
//海伦公式
//#include<stdio.h>
//#include<math.h>
//int main()
//{
//	#include<stdio.h>

	/*float a, b, c;
	float s, d;
	scanf("%f%f%f", &a, &b, &c);
	d = (a + b + c) / 2.0;
	s = sqrt(d * (d - a) * (d - b) * (d - c));
	printf("%.2f", s);
	return 0;*/

	//}


	//输入一个三位正整数，然后将它逆序输出。
	//
	//例如，输入123，输出为321。
	//#include<stdio.h>
	//int main()
	//{
	//	int a;
	//	scanf("%d", &a);
	//	while (a > 0)
	//	{
	//		int b = 0;
	//		b = a % 10;
	//		a = a / 10;
	//		printf("%d", b);
	//	}
	//	return 0;
	//}


	//编写程序，输入圆的半径，计算并输出圆的周长。
	//#include<stdio.h>
	//int main()
	//{
	//	int a = 0;
	//	double area = 0;
	//	scanf("%d",&a);
	//	area = 2 * 3.14 * a;
	//	printf("%lf", area);
	//	return 0;
	//
	//
	//}
	//实数
	//#include<stdio.h>
	//int main()
	//{
	//
	//	double area, a;
	//	scanf("%lf", &a);
	//	area = 2 * 3.14 * a;
	//	printf("%lf", area);
	//	return 0;
	//}


	//输入1个华氏温度值F，要求计算并输出对应的摄氏温度C的值。
	//公式为：C=5/9（F-32）
	//	1个实数，表示输入的华氏温度F的值。

	//#include<stdio.h>
	//int main()
	//{
	//	double a,c;
	//	scanf("%lf", &a);
	//	c = 5.0 / 9*(a - 32);
	//	printf("%lf", c);
	//	return 0;
	//}
	//


	//在输入房间的长度和宽度之后，计算并显示房间的面积。
	//Input
	//第一行1个实数，表示房间的长度。
	//第二行1个实数，表示房间的宽度。
	//输出面积

	//#include<stdio.h>
	//int main()
	//{
	//	double a, b,area;
	//	scanf("%lf%lf", &a, &b);
	//	area = a * b;
	//	printf("the area of the room:%lf", area);
	//	return 0;
	//}

	//编写程序用于超市中的记账：已知苹果每斤2.5元，鸭梨每斤1.7元，香蕉每斤2元，橘子每斤1.2元，要求输入各种水果的销售重量，计算并输出应收款的数额。
	//
	//
	//Input
	//4个实数，分别对应苹果、鸭梨、香蕉和橘子的销售重量，相互之间用空格隔开。
	//
	//
	//Output
	//输出应收款的数额（保留2位小数



	//#include<stdio.h>
	//int main()
	//{
	//	double a, b, c, d;
	//	double x;
	//	scanf("%lf%lf%lf%lf", &a, &b, &c, &d);
	//	x = a * 2.5 + b * 1.7 + c * 2 + d * 1.2;
	//	printf("%.2lf", x);
	//	return 0;
	//}

	//世界上不同国家有不同的写日期的习惯。比如美国人习惯写成“月 - 日 - 年”，而中国人习惯写成“年 - 月 - 日”。
	//
	//编写程序，自动把读入的美国格式的日期改写成中国习惯的日期。
	//
	//
	//Input
	//在一行中按照“mm - dd - yyyy”的格式给出月、日、年。
	//
	//题目保证给出的日期是1900年元旦至今合法的日期。
	//
	//
	//Output
	//在一行中按照“yyyy - mm - dd”的格式输出日期。

	//#include<stdio.h>
	//int main()
	//{
	//	int a, b, c,x;
	//	scanf("%d-%d-%d", &a,&b,&c);
	//	
	//	printf("%d-%02d-%02d", c,a,b);
	//	return 0;
	//}

	//请编写程序，输入1年期定期存款利率和存款金额，帮客户计算到期本金、利息和合计金额。
	//
	//
	//Input
	//两个实数，分别是存款金额和利率，中间用空格隔开。存款金额不超过100万元，利率为百分数，不超过10% 。
	//
	//
	//Output
	//输出占三行，分别是本金、利息和合计。每个实数2位小数，右对齐。
	//
	//这题长度会达到11， 使用 % 11.2f 输出

	//#include<stdio.h>
	//int main()
	//{
	//	double a, b,c,d;
	//	scanf("%lf%lf", &a, &b);
	//	c = a * (b / 100);
	//	d = a + c;
	//	printf("%11.2lf\n%11.2lf\n%11.2lf",a, c, d);
	//	return 0;

	//}


	//编写程序，顺序读入浮点数1、整数、字符、浮点数2，再按照字符、整数、浮点数1、浮点数2的顺序输出。
	//
	//
	//Input
	//在一行中顺序给出浮点数1、整数、字符、浮点数2，其间以1个空格分隔。
	//
	//
	//Output
	//在一行中按照字符、整数、浮点数1、浮点数2的顺序输出，其中浮点数保留小数点后2位。

	//#include<stdio.h>
	//int main()
	//{
	//	float a, d;
	//	int b;
	//	char c;
	//	scanf("%f %d %c %f", &a,&b,&c,&d);总结scanf之中要打空格，可以跳过空白
	//	printf("%c %d %.2f %.2f",c,b,a,d);
	//	return 0;
	//}


	//总结scanf之中要打空格，可以跳过空白



	//数列//
	//#include<stdio.h>
	//int main()
	//{
	//	int n = 0;
	//	scanf("%d", &n);
	//	double s = 0;
	//	for(int i=1;i<=n;i++)
	//	{
	//		s = s+1.0 / (i *( i + 1));
	//	}
	//	printf("%.5lf", s);
	//	return 0;
	//




	//某企业年销售额屡创新高，总经理踌躇满志计划若干年后年实现销售翻番。
	//
	//请编写程序，帮总经理计算该企业必须保持怎样的年销售增长率才能实现这个目标。
	//一个正整数，表示年数，不超过100。
	//Output
	//输出年增长率（百分数，2位小数）。
	//


	//#include<stdio.h>
	//#include<math.h>
	//int main()
	//{
	//	int a = 0;
	//	scanf("%d", &a);
	//
	//	double g = pow(2.0, 1.0 / a)-1;
	//	g *= 100;
	//	printf("%.2lf%%", g);
	//	return 0;
	//}






	//计算两个双精度浮点数a和b的相除的余数，a和b都是正数。

	//这里余数（r）的定义是：a = k * b + r，其中 k是整数， 0 <= r < b。
	//
	//
	//	Input
	//	一行包括两个双精度浮点数a和b，中间用空格隔开。
	//
	//
	//	Output

	//#include<stdio.h>
	//int main()
	//{
	//	int k = 0;
	//	double a=0.0, b=0.0, c;
	//	scanf("%lf%lf", &a, &b);
	//	k = a / b;
	//	c = a - b * k;
	//	printf("%g", c);
	//	return 0;
	//
	//}




	//编写一个程序，读入一个字母，输出与之对应的ASCII 码值。
	//
	//
	//Input
	//一个字母。
	//
	//
	//Output
	//输出字母对应的ASCII码。
	//#include<stdio.h>
	//int main()
	//{
	//	char ch;
	//	scanf("%c",&ch);
	//	printf("%d",(int)ch );
	//	return 0;
	//}



	//输入一个三位整数，判断该数是否是“水仙花数”。
	//所谓“水仙花数”是指一个三位数，其各位数字的立方和等于该数本身。
	//#include<stdio.h>
	//#include<math.h>
	//int main()
	//{
	//	int a, b, c, d;
	//	scanf("%d%",&a);
	//	b = a % 10;
	//	c = (a / 10) % 10;
	//	d = a / 100;
	//	if (a ==d*d*d +c*c*c +b*b*b )
	//	printf("YES");
	//	else
	//		printf("NO");
	//	return 0;
	//}

	/*输入三个整数，将他们按照从小到大的顺序排序输出。
	Input
	3个整数，相互之间用空格隔开。
	Output
	按照样例输出格式要求，从小到大顺序输出，整数之间用1个空格隔开*/
	//#include<stdio.h>
	//int main()
	//{
	//	int a, b, c, x;
	//		scanf("%d%d%d",&a,&b,&c);
	//		if (a > b)
	//		{
	//			int x = b;
	//			b=a;
	//			a=x;
	//		}
	//		if (a > c)
	//		{
	//			int x = c;
	//			c = a;
	//			a = x;
	//		}
	//
	//		if (b > c)
	//		{
	//			int x = c;
	//			c = b;
	//			b = x;
	//		}
	//		printf("a=%d,b=%d,c=%d", a, b, c);
	//		return 0;
	//}

	//输入一个年份值，判断这一年是否闰年。
	//#include<stdio.h>
	//int main()
	//{
	//	int a = 0;
	//	scanf("%d", &a);
	//	if ((a % 4 == 0) && (a % 100 != 0) || (a % 400 == 0))
	//		printf("%d is a leap year!", a);
	//	else
	//		printf("%d isn't a leap year!",a);
	//	return 0;
	//
	//}

	//输入一个百分制成绩，要求输出成绩所对应的等级（A，B，C，D，E）。
	//
	//90及以上的分数对应的等级为A；
	//
	//80及以上，但小于90的分数对应的等级为B；
	//
	//70及以上，但小于80的分数对应的等级为C；
	//
	//60及以上，但小于70的分数对应的等级为D；
	//
	//小于60的分数对应的等级为E；
	//#include<stdio.h>
	//int main()
	//{
	//	int a = 0;
	//	scanf("%d", &a);
	//	 int b = a / 10;
	//	switch (b)
	//	{
	//	case 9:
	//		printf("score=%d,grade:A", a); break;
	//	case 10:
	//		printf("score=%d,grade:A", a); break;
	//    case 8:
	//		printf("score=%d,grade:B", a); break;
	//	case 7:
	//		printf("score=%d,grade:C", a); break;
	//	case 6:
	//		printf("score=%d,grade:D", a); break;
	//	default:
	//		printf("score=%d,grade:E", a); break;
	//	}
	//	return 0;
	//}




	//输入月份对应的整数，输出对应月份的英文名称及其天数。
	//#include<stdio.h>
	//int main()
	//{
	//	int a = 0;
	//	scanf("%d", &a);
	//	switch (a)
	//	{
	//	case 1:
	//		printf("January,31"); break;
	//	case 2:
	//		printf("February,28/29"); break;
	//	case 3:
	//		printf("March,31"); break;
	//	case 4:
	//		printf("April,30"); break;
	//	case 5:
	//		printf("May,31"); break;
	//	case 6:
	//		printf("June,30"); break;
	//	case 7:
	//		printf("July,31"); break;
	//	case 8:
	//		printf("August,31"); break;
	//	case 9:
	//		printf("September,30"); break;
	//	case 10:
	//		printf("October,31"); break;
	//	case 11:
	//		printf("November,30"); break;
	//	case 12:
	//		printf("December,31"); break;
	//	}
	//	return 0;
	//}



	//输入学生的百分制成绩，若成绩在85分以上，输出“very good”，
	//若成绩在60~85分，输出“good”，若成绩低于60分，则输出“no good”。
	//#include<stdio.h>
	//int main()
	//{
	//	int a = 0;
	//	scanf("%d", &a);
	//	if (a > 85)
	//		printf("very good");
	//	else if (a >= 60 && a <= 85)
	//		printf("good");
	//	else
	//		printf("no good");
	//	return 0;
	//}
	//if (((c > a) && (c < b)) || ((a > c) && (b < c)))

	//从键盘输入3个整数，找出居中的数并输出
	//3个整数，相互之间用空格隔开。
	//输出居中的整数

	//#include <stdio.h>
	//
	//int main() {
	//    int num1, num2, num3;
	//    scanf("%d %d %d", &num1, &num2, &num3);
	//
	//    if ((num1 <= num2 && num2 <= num3) || (num3 <= num2 && num2 <= num1)) {
	//        printf("%d", num2);
	//    }
	//    else if ((num2 <= num1 && num1 <= num3) || (num3 <= num1 && num1 <= num2)) {
	//        printf("%d", num1);
	//    }
	//    else {
	//        printf("%d", num3);
	//    }
	//
	//    return 0;
	//}


	//输入3个非0的整数，判断这3个整数能否作为三角形三条边的长
#/*include<stdio.h>
int main()
{
	int a, b, c;
	scanf("%d%d%d", &a, &b, &c);
	if (a + b > c && a + c > b && b + c > a)
		printf("YES");
	else
		printf("NO");
	return 0;
}*/


//最大公约数
//#include<stdio.h>
//
//int main()
//
//{
//
//    int m, n, r;
//
//    do
//    {
//        scanf("%d %d",&m,&n);
//
//    }
//    while (n<=0 && m<=0);
//
//        while (n != 0)
//        {
//            r = m % n;
//            m = n;
//            n = r;
//
//        }
//        printf("%d", m);
//
//        return 0;
//}



//程序填空题, 9分)若一自然数全部正整数因子（该因子不包括其本身）之和仍为该自然数，则该自然数称为完全数。如：6 = 1 + 2 + 3，则6是完全数。输出[2，1000]以内的所有完全数及完全数的个数。
//#include <stdio.h>

//int main()
//{
//	int i, j, s, n = 0;
//	for (i = 2; i <= 1000; i++)
//	{
//		s = 0;
//		for (j = 2; j <= i / 2; j++)
//		{
//			if (i % j == 0)
//				s = s + j;
//		}
//		if (s == i)
//		{
//			printf("%d", i);
//			n++;
//		}
//	}
//	printf("\nn=%d\n", n);
//	return 0;
//
//}

//编写程序，将用户输入的24小时时间记法转换为12小时时间记法。
//
//例如，若输入14 2 15（代表14点2分15秒），则输出2 2 15 PM（代表下午2点2分15秒）。
//
//若输入3 1 14，则输出3 1 14 AM。
//
//12小时 视为 0 PM

//#include<stdio.h>
//int main()
//{
//	int a=0, b=0,c=0;
//	scanf("%d%d%d",&a,&b, &c);
//	if (a >= 1 && a <12)
//	{
//		printf("%d %d %d AM", a, b, c);
//	}
//	
//	
//	else if(a>=12)
//	{	
//		a = a - 12;
//		printf("%d %d %d PM", a, b, c);
//	}
//	return 0;
//}

//编写程序，根据输入的x值计算y和z的值并输出。
//#include<stdio.h>
//#include<math.h>
//int main()
//{
//	double x=0, y=0, z=0;
//	scanf("%lf", &x);
//	if (x <= 2.5)
//		y = x * x + 1;
//	else
//		y=x* x - 1;
//	printf("%lf\n", y);
//	if (x >= 1 && x < 2)
//		z = 3 * x + 5;
//	else if (x >= 2 && x < 3)
//		z = 2 * sin(x) - 1;
//	else if (x < 5 && x >= 3)
//		z = sqrt(1 + x * x);
//	else if (x >= 5 && x < 8)
//		z = x * x - 2 * x + 5;
//	printf("%lf\n", z);
//		return 0;
//}


/*企业发放的奖金根据利润提成。
利润低于或等于10万元时，奖金可提10% ；
利润高于10万元，低于或等于20万元时，低于10万元的部分按10% 提成，高于10万元的部分，可提成7.5 % ；
利润高于20万元，低于或等于40万元时，高于20万元的部分，可提成5 % ；
利润高于40万元，低于或等于60万元时，高于40万元的部分，可提成3 % ；
利润高于60万元，低于或等于100万元时，高于60万元的部分，可提成1.5 % ；
利润高于100万元时，超过100万元的部分，可提成1 % ；
编写程序，实现从键盘收入当月利润，输出应发奖金总数*/
#/*include<stdio.h>
int main()
{
	double  a = 0.0, z = 0.0;
	scanf("%lf", &a);
	a = a / 10000.0;
	if (a <= 10)
		z = a * 0.1;
	else if (a <= 20)
		z = 10 * 0.1 + (a - 10) * 0.075;
	else if (a <= 40)
		z = 10 * 0.1 + 10 * 0.075 + (a - 20) * 0.05;
	else if (a <= 60)
		z = 10 * 0.1 + 10 * 0.075 + 20 * 0.05 + (a - 40) * 0.03;
	else if (a <= 100)
		z = 10 * 0.1 + 10 * 0.075 + 20 * 0.05 + 20 * 0.03 + (a - 60) * 0.015;
	else
		z = 10 * 0.1 + 10 * 0.075 + 20 * 0.05 + 20 * 0.03 + 40 * 0.015 + (a - 100) * 0.01;

	z = z * 10000;
	printf("%.2lf", z);
	return 0;
}*/

//#include <stdio.h>
//
//int main() {
//	double x = 0, y = 0;
//	scanf("%lf", &x);
//	x = x / 10000.0;
//	if (x <= 10) {
//		y = x * 0.1;
//	}
//	else if (x <= 20) {
//		y = 10 * 0.1 + (x - 10) * 0.075;
//	}
//	else if (x <= 40) {
//		y = 10 * 0.1 + 10 * 0.075 + (x - 20) * 0.05;
//	}
//	else if (x <= 60) {
//		y = 10 * 0.1 + 10 * 0.075 + 20 * 0.05 + (x - 40) * 0.03;
//	}
//	else if (x <= 100) {
//		y = 10 * 0.1 + 10 * 0.075 + 20 * 0.05 + 20 * 0.03 + (x - 60) * 0.015;
//	}
//	else {
//		y = 10 * 0.1 + 10 * 0.075 + 20 * 0.05 + 20 * 0.03 + 40 * 0.015 + (x - 100) * 0.01;
//	}
//	y = y * 10000;
//	printf("%.2f\n", y);
//	return 0;
//}


/*中国有句俗语叫“三天打鱼两天晒网”。假设某人从某天起，开始“三天打鱼两天晒网”，问这个人在以后的第N天中是“打鱼”还是“晒网”？

Input
在一行中给出一个不超过1000的正整数N。
Output
在一行中输出此人在第N天中是“Fishing”（即“打鱼”）还是“Drying”（即“晒网”*/
//），并且输出“in day N”。

//#include<stdio.h>
//int main()
//{
//	int a = 0,b=0;
//	scanf("%d", a);
//	b = a % 5;
//	if (b == 1 || b == 2 || b == 3)
//		printf("Fishing in day %d", a);
//	else
//		printf("Drying in day %d", a);
//	return 0;
//}



//从键盘输入n个整数，求出它们的最大整数。
//第一行1个正整数n。
//第二行，n个整数，相互之间用空格隔开。
//输出n个整数的最大值。
//#include<stdio.h>
//int main()
//{
//	int  q = 0;
//	int z = 0,a=0;
//	scanf("%d", &q);
//	for (int i = 1; i <= q; i++)
//	{
//		scanf("%d",&z);
//		if (z > a)
//			a = z;
//	}
//	printf("%d", a);
//	return 0;
//}


//从键盘输入2个正整数，求它们的最大公约数。
//2个正整数，中间用空格隔开
//输出2个正整数的最大公约数。

//、、辗转相处法、、辗转相处法、、辗转相处法、、辗转相处法、、辗转相处法、、辗转相处法vv
//、、辗转相处法、、辗转相处法、、辗转相处法、、辗转相处法、、辗转相处法、、辗转相处法
//、、辗转相处法、、辗转相处法、、辗转相处法、、辗转相处法、、辗转相处法、、辗转相处法
//#include<stdio.h>
//int main()
//{
//	int a = 0, b = 0;
//	scanf("%d%d", &a, &b);
//	while (b != 0)
//	{
//		int r = a % b;
//		a = b;
//		b = r;
//		}
//	printf("%d", a);
//	return 0;
//}


//输入一个非负整数n，求n！。
//一个非负整数n（0≤n < 13）。
//按照样例指定格式输出n！
//#include<stdio.h>
//int main()
//{
//	int n = 0,a=1;
//	scanf("%d",&n);
//	int i = 1;
//	for (i = 1; i <=n; i++)
//	{
//		a = a * i;
//	}
//	printf("%d!=%d",n, a);
//		return 0;
//}

//有一个分数序列如下所示，求出这个数列的前n项之和。
//#include<stdio.h>
//int main()
//{
//	int n = 0;
//
//	double a = 0,b=1,c=2;
//	scanf("%d", &n);
//	for (int i = 1; i <= n; i++)
//	{
//		a = a + c / b;
//		c = c + b;
//		b = c - b;
//	}
//	printf("%f", a);
//	return 0;
//
//}
//


//输出Fibonacci数列的前n项。
//Fibonacci数列：1，1，2，3，5，8，13，21，34，
//第一项，第二项都是1，从第三项开始的每项都是其前两项之和。
//#include<stdio.h>
//int main()
//{
//	long long z=0, x=1, c=1, y=0, b=0;
//	scanf("%d", &z);
//	for (int i = 1; i <= z; i++)
//	{
//		
//		if (i <= 2)
//			printf("%10d", x);
//		else
//		{
//			y = x + c;
//			printf("%10d", y);
//			b=x;
//			x = x + c;
//			c = b;
//		}
//
//		if (i % 5 == 0)
//			printf("\n");
//	}
//	return 0;
//}

//祖父年龄x岁，长孙y1岁，次孙y2岁，幼孙y3岁，
//请问要至少经过多少年，3个孙子的年龄之和同祖父的年龄相等或超过。
//#include<stdio.h>
//int main()
//{
//	int b = 2, a = 0, x = 0, q = 0, w = 0, e = 0;
//	scanf("%d%d%d%d", &x, &q, &w, &e);
//		a = q + w + e;
//		int i = 0;
//		while (1)
//		{
//			if (x > a)
//			{
//				x += 1;
//				a += 3;
//			}
//			else
//				break;
//			i++;
//		}
//		printf("%d", i);
//	return 0;
//}
//



//输出[m，n]范围内所有"韩信点兵"数。
//
//所谓韩信点兵数就是指“除以3余2，除以5余3，除以7余4”的整数。
//#include<stdio.h>
//int main()
//{
//	int j=0, a=0,b=0,c=0,m = 0, n = 0;
//	scanf("%d%d", &m, &n);
//	int i = 0;
//	for ( i = m; i <= n-1; i++)
//	{
//		
//		a = i % 3;
//		b = i % 5;
//		c = i % 7;
//		if ((a == 2) && (b == 3) &&( c == 4))
//		{
//			
//			if (j!= 0)
//				printf(" ");
//			printf("%d", i);
//			j++;
//		}
//	}
//	if (j == 0)
//		printf("total=%d", j);
//	else
//	printf("\ntotal=%d",j);
//	return 0;
//}




//#include<stdio.h>
//int main()
//{
//	int m, n, i, t;
//		scanf("%d%d", &m, &n);
//		t = m;
//		i = 0;
//		while (t >= m && t <= n)
//		{
//			if (t % 3 == 2 && t % 5 == 3 && t % 7 == 4)
//			{
//				if (i!=0)
//					printf(" ");
//				printf("%d", t);
//				i+=1;
//			}
//			t+=1;
//		}
//		if(i==0)
//			printf("total=%d", i);
//		else
//		printf("\ntotal=%d", i);
//		return 0;
//}


//利用下列公式计算并输出
//#include<stdio.h>
//int main()
//{
//	int n = 0,d=1;
//	double a=0,b=0,c=0;
//	scanf("%d", &n);
//	for (int i = 1; i <= n; i++)
//	{
//		b = b + 1.0 / (4 * i - 3);	
//		c = c + 1.0 / (4 * i - 1);
//	}
//	a = (b - c) * 4;
//	printf("%lf", a);
//	return 0;
//}

//一个球从100米的高度自由落下，每次落地后反弹回原来高度的一半，然后再落下，以此类推。
//
//求它在第n次落

//#include<stdio.h>
//int main()
//{
//	int n = 0;
//	double a=0, b=100,c=0;
//	scanf("%d",&n);
//		for (int i = 1; i <= n; i++)
//		{
//			if (i != n)
//			{
//				a = a + b + b / 2.0;
//			}
//			else
//			{
//				a = a + b;
//				c = b / 2.0;
//			}
//			b = b / 2.0;
//
//		}
//		printf("%lf %lf", a,c);
//		return 0;
//}


//输入一个整数，输出每个数字对应的拼音。当整数为负数时，先输出fu字。十个数字对应的拼音如下：
//
//0: ling     1 : yi     2 : er     3 : san     4 : si
//5 : wu       6 : liu    7 : qi     8 : ba      9 : jiu
//#include<stdio.h>
//int main()
//{
//
//	return 0;
//}


//#include <stdio.h>
//
//int main() {
//	int num;
//	scanf("%d", &num);
//
//	if (num < 0) 
//	{
//		printf("fu ");
//		num = -num;
//	}
//
//	int temp = num;
//	while (temp != 0) 
//	{
//		int digit = temp % 10;
//		switch (digit) {
//		case 0: printf("ling "); break;
//		case 1: printf("yi "); break;
//		case 2: printf("er "); break;
//		case 3: printf("san "); break;
//		case 4: printf("si "); break;
//		case 5: printf("wu "); break;
//		case 6: printf("liu "); break;
//		case 7: printf("qi "); break;
//		case 8: printf("ba "); break;
//		case 9: printf("jiu "); break;
//		}
//		temp /= 10;
//	}
//	printf("\n");
//
//	return 0;
//}

//#include <stdio.h>
//
//int main() {
//	int num;
//	printf("请输入一个整数：");
//	scanf("%d", &num);
//
//	if (num < 0) {
//		printf("fu ");
//		num = -num;
//	}
//
//	int temp = num;
//	while (temp > 0) {
//		int digit = temp % 10;
//		switch (digit) {
//		case 0:
//			printf("ling ");
//			break;
//		case 1:
//			printf("yi ");
//			break;
//		case 2:
//			printf("er ");
//			break;
//		case 3:
//			printf("san ");
//			break;
//		case 4:
//			printf("si ");
//			break;
//		case 5:
//			printf("wu ");
//			break;
//		case 6:
//			printf("liu ");
//			break;
//		case 7:
//			printf("qi ");
//			break;
//		case 8:
//			printf("ba ");
//			break;
//		case 9:
//			printf("jiu ");
//			break;
//		}
//		temp /= 10;
//	}
//	printf("\n");
//	return 0;
//}



//#include <stdio.h>
//
//void outputPinyin(int num) {
//	if (num < 0) {
//		printf("fu ");
//		num = -num;
//	}
//	char str[15];
//	sprintf(str, "%d", num);
//	for (int i = 0; str[i] != '\0'; i++) {
//		int digit = str[i] - '0';
//		switch (digit) {
//		case 0:
//			printf("ling ");
//			break;
//		case 1:
//			printf("yi ");
//			break;
//		case 2:
//			printf("er ");
//			break;
//		case 3:
//			printf("san ");
//			break;
//		case 4:
//			printf("si ");
//			break;
//		case 5:
//			printf("wu ");
//			break;
//		case 6:
//			printf("liu ");
//			break;
//		case 7:
//			printf("qi ");
//			break;
//		case 8:
//			printf("ba ");
//			break;
//		case 9:
//			printf("jiu ");
//			break;
//		}
//	}
//}
//
//int main() {
//	int num;
//
//	scanf("%d", &num);
//	outputPinyin(num);
//	return 0;
//}
//



//练习1：多个字符从两端移动，向中间汇聚